﻿using System;
using System.Text;
using System.Drawing;
using System.Buffers;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;

public static partial class glDRIVE
{
    /*
    函数 gl.log2
    对数数据相关
    void log2(int n, double x[], double y[], double a[2], double dt[5])
    参数 n: 数据点数。
    参数 x: x[n],y[n]存放n个数据点。x,y>0。
    参数 y: 
    参数 a: a[2]a[0]返回幂函数前的系数b;a[1]返回幂函数中的指数a。
    参数 dt: 
    dt[5]dt[0]偏差平方和。
    dt[1]返回平均标准偏差。
    dt[2]返回最大偏差。
    dt[3]返回最小偏差。
    dt[4]返回偏差平均值。
    */

    public static string drive_log2()
    {
        int n;
        double[] a = new double[2];
        double[] dt = new double[5];
        double[] x = new double[10] { 0.1, 1.0, 3.0, 5.0, 8.0, 10.0, 20.0, 50.0, 80.0, 100.0 };
        double[] y = new double[10] { 0.1, 0.9, 2.5, 4.0, 6.3, 7.8, 14.8, 36.0, 54.0, 67.0 };
        n = 10;
        gl.log2(n, x, y, a, dt);

        return gl.html_table(
            "拟合系数:a,b,偏差平方和,平均标准偏差,最大偏差,最小偏差,偏差平均值",
            new double[] { a[1], a[0], dt[0], dt[1], dt[2], dt[3], dt[4] }
        );
    }
}